id number my_id 1 1 789 1 2 645 1 3 222 1 4 544 1 5 155
简单计数结果等于5
SELECT COUNT(id) AS count FROM table WHERE id = 1
我怎样才能数到某个值?例如:count until my \u id is'222',count result=3谢谢您!
gv8xihay1#
假设数字已排序
select count(*) from t where `number`<=(select `number` from t where my_id=222)
qxgroojn2#
那要看顺序,你说的“直到我的身份证是222”是什么意思?您可以这样(或相反)进行查询,但这将使用 my_id 字段以确定应计算的人员:
my_id
SELECT count(id) as count FROM YourTable WHERE id = 1 AND my_id <= 222
编辑:你的问题遗漏了一些关键信息,但也许你的意思是:
SELECT COUNT(t.id) as count FROM YourTable t WHERE t.id = 1 AND t.number <= (SELECT number FROM YourTable s WHERE s.id = 1 and S.my_id = 222)
此查询依赖于这样一个事实:只有1条记录与内部查询匹配。sqlfiddle公司
2条答案
按热度按时间gv8xihay1#
假设数字已排序
qxgroojn2#
那要看顺序,你说的“直到我的身份证是222”是什么意思?
您可以这样(或相反)进行查询,但这将使用
my_id
字段以确定应计算的人员:编辑:你的问题遗漏了一些关键信息,但也许你的意思是:
此查询依赖于这样一个事实:只有1条记录与内部查询匹配。
sqlfiddle公司