我有一张记录表,例如
╔═════╦══════╦══════════╦══════════╗
║ PID ║ NAME ║ DATE1 ║ DATE2 ║
╠═════╬══════╬══════════╬══════════╣
║ 123 ║ john ║ 20110401 ║ 19700101 ║
║ 123 ║ john ║ 20110401 ║ 19700101 ║
║ 123 ║ john ║ 20110401 ║ 19700101 ║
║ 323 ║ mike ║ 20110401 ║ 19900101 ║
║ 323 ║ mike ║ 20110401 ║ 19900101 ║
╚═════╩══════╩══════════╩══════════╝
query1
count
开启_pid
query2
如果所有四个字段都相同,则将记录视为一条记录,否则将单独记录和记录按pid
顺序计数。
上面的结果是:
╔═════╦══════════════╦═════════════╗
║ PID ║ TOTALRECORDS ║ TOTALUNIQUE ║
╠═════╬══════════════╬═════════════╣
║ 123 ║ 3 ║ 1 ║
║ 323 ║ 2 ║ 1 ║
╚═════╩══════════════╩═════════════╝
我做了select pid,count(pid),(select count(pid) group by pid,name,date1,date2) from <table> group by pid;
但我得到一个错误......请更正我的代码。