Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySql选择查询帮助-如何计算查询出现的次数_Mysql_Select - Fatal编程技术网

MySql选择查询帮助-如何计算查询出现的次数

MySql选择查询帮助-如何计算查询出现的次数,mysql,select,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 | +------+ 但是我希望输出有两列,右列计算左列在查询中出现的次数。。因此,我希望输出与此

我目前有以下问题:

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';

您忘记了GROUPBY子句将每个“S_ID”放在自己的行中


从…中选择S_ID、计数(*)。。。分组依据S_ID

您需要使用分组依据:

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