我有 '人民'T-SQL SELECT与GROUP BY ID
列
- ID
- 名称
- 年龄
而且表“表备注':
分列
- ID
- 文本
- FK_Author
我想选择的音符数从人表中的所有作者和他们的名字和年龄,但我希望将它通过人员ID,而不是姓名。有很多情况下,人们有相同的名字,但ID显然总是不同的。
实施例(输入)
人物:
╔════╦═══════╦═════╗
║ ID ║ NAME ║ AGE ║
╠════╬═══════╬═════╣
║ 1 ║ John ║ 12 ║
║ 2 ║ Annie ║ 29 ║
║ 3 ║ John ║ 44 ║
╚════╩═══════╩═════╝
NOTES:
╔════╦═══════╦═══════════╗
║ ID ║ TEXT ║ FK_AUTHOR ║
╠════╬═══════╬═══════════╣
║ 1 ║ 'aaa' ║ 1 ║
║ 2 ║ 'aaa' ║ 1 ║
║ 3 ║ 'aaa' ║ 2 ║
║ 4 ║ 'aaa' ║ 2 ║
║ 5 ║ 'aaa' ║ 3 ║
╚════╩═══════╩═══════════╝
预期结果:
╔═══════╦═════╦════════════╗
║ NAME ║ AGE ║ TOTALCOUNT ║
╠═══════╬═════╬════════════╣
║ John ║ 12 ║ 2 ║
║ Annie ║ 29 ║ 2 ║
║ John ║ 44 ║ 1 ║
╚═══════╩═════╩════════════╝
当我选择数据时,如果我想选择此列,我也必须按名称进行分组,因为如果我没有,我会得到错误。
这是错误的答案,就像我说我不要被名字/年龄蚂蚁群。这个专栏对于不同的人可以是相同的 – Ellbar
NO。你错了。这个查询会给你你需要的结果。请记住,您在“GROUP BY”条款 –
中包含“ID”,请参阅此处演示http://www.sqlfiddle.com/#!3/81929/1 –