当前位置: 首页 > 编程笔记 >

MySQL选择按值计数?

章高朗
2023-03-14
本文向大家介绍MySQL选择按值计数?,包括了MySQL选择按值计数?的使用技巧和注意事项,需要的朋友参考一下

您可以COUNT()为此使用功能。让我们首先创建一个演示表

mysql> create table countValueDemo
   -> (
   -> ShippingDatetime datetime,
   -> FirstValue int,
   -> SecondValue int
   -> );

使用insert命令在表中插入一些记录。查询如下-

mysql> insert into countValueDemo values('2019-01-23',1,2);
mysql> insert into countValueDemo values('2017-02-21',NULL,2);
mysql> insert into countValueDemo values('2016-04-12',1,NULL);

使用select语句显示表中的所有记录。查询如下-

mysql> select *from countValueDemo;

以下是输出

+---------------------+------------+-------------+
| ShippingDatetime    | FirstValue | SecondValue |
+---------------------+------------+-------------+
| 2019-01-23 00:00:00 |          1 |           2 |
| 2017-02-21 00:00:00 |       NULL |           2 |
| 2016-04-12 00:00:00 |          1 |        NULL |
+---------------------+------------+-------------+
3 rows in set (0.00 sec)

这是选择按值计数的查询

mysql> SELECT ShippingDatetime,
   -> COUNT(*),
   -> COUNT( IF( FirstValue = 1, 1, NULL ) ),
   -> COUNT( IF( SecondValue = 2, 1, NULL ) )
   -> FROM countValueDemo;

以下是输出

+---------------------+----------+----------------------------------------+-----------------------------------------+
| ShippingDatetime    | COUNT(*) | COUNT( IF( FirstValue = 1, 1, NULL ) ) | COUNT( IF( SecondValue = 2, 1, NULL ) ) |
+---------------------+----------+----------------------------------------+-----------------------------------------+
| 2019-01-23 00:00:00 |        3 |                                      2 |                                       2 |
+---------------------+----------+----------------------------------------+-----------------------------------------+
1 row in set (0.08 sec)
 类似资料:
  • 本文向大家介绍MySQL 按列名选择,包括了MySQL 按列名选择的使用技巧和注意事项,需要的朋友参考一下 示例 询问 结果            

  • 问题内容: 这里完全没有想法,可能需要一个简单的解决方案。 基本上我想要的查询是: 我只想选择ID为3和4的行,或者命名为“ andy”和“ paul” 非常感谢您的回答 问题答案: 尝试: 或等效的:

  • 问题内容: 我需要选择列的枚举值。通过搜索,我发现了两种方法: 和另一个: 尽管第一个查询将为我提供此信息: 第二个查询给了我相同的内容,并且还有其他列。我宁愿只获取那些没有“ enum()”和逗号的值,是否可能,还是我需要解析这些值?并不是仅检查是否有更简单的方法就很困难。 假设没有更简单的方法,那么上面两个查询中的哪个更适合使用?我注意到第二个查询在运行时没有显示查询时间,我几乎认为它根本不需

  • 基本上,对于每个user_id,我需要类似的东西, 我想最终的结果只是返回所有的总数。

  • 问题内容: 有没有办法插入预设值和我从选择查询中获得的值?例如: 我有“字符串”的值和数字5,但是我必须从这样的选择中找到[int]值: 那给我那个ID放在table1里面。 如何将其合并为一个语句? 问题答案: 使用查询,并将已知值放入:

  • 问题内容: 我想了解MySQL中的某些特定行为。运行“ select @@ version”,我看到我的版本是5.6.34-log。 让我使用生成的表放置样本,以使其更易于重现: 正如标题所建议的那样,我最初搜索的是如何通过别名选择列,以便重用计算所得的字段,从而避免了冗长的查询。如文档中所述,大多数答案要么建议使用子查询,要么使用变量- 一种可读性差,而另一种则不能由自己的数据库开发人员来保证。