MySql Select Query帮助——如何统计查询出现的次数

标签 mysql select

我目前有这个查询:

SELECT s_id FROM orderline,order_t WHERE orderline.o_id=order_t.o_id AND c_name='John Smith';

它返回这个:

+------+
| s_id |
+------+
|  12  |
+------+
|  11  |
+------+
|  10  |
+------+
|  10  |
+------+

但我希望输出有两列,右列用于计算左列在查询中出现的次数。所以我希望输出与这个完全一样:

+------+-------+
| s_id | count |
+------+-------+
|  12  |   1   |
+------+-------+
|  11  |   1   |
+------+-------+
|  10  |   2   |
+------+-------+

这可能吗?

我试过这个查询,但它显然是错误的,因为它计算了 s_id 的行数。

SELECT s_id,count(*) FROM orderline,order_t WHERE orderline.o_id=order_t.o_id AND c_name='John Smith';

最佳答案

您忘记了 GROUP BY 子句让每个“S_ID”各占一行

select S_ID, count(*) from ... group by S_ID

关于MySql Select Query帮助——如何统计查询出现的次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10423937/

相关文章:

java - 当我尝试连接到 Mysql 时检测到 JSONException 时,如何修复错误?

php - 创建表mysql失败时约束

MySQL:如果存在于具有条件的其他表中,则删除行

html - Angular:选择下拉列表中的最大选择

HTML 选择下拉箭头样式

php - 如何使用 PHP 和 MYSQL 在单个单元格数据库中插入/存储多个项目

php - 使用PHP从数据库动态打印表格的问题

javascript - Chrome 选择输入点击事件替代方案(更改不能满足我的需要)

SQL SELECT 速度 int vs varchar

php - 在格式为 json 的字段中选择多个 ID