表users结构id name money1 txt
1 a 500 1
2 b 200 1
3 c 500 1
4 d 200 1
5 a 600 1
6 b 500 1
7 c 300 1
8 d 100 1
9 a 600 2
10 b 500 2
11 c 300 2
12 d 100 2
13 d 600 2
14 a 100 3
15 b 500 3
16 c 800 3
17 d 900 3
18 c 800 3
我要得出的结果为:
xtx | name | money1 |
1 | a | 1100 |
2 | d | 700 |
3 | c | 1600 |
只用MYSQL语句,不要在MYSQL语句中加入其他语言如 select * from users where(txt"+i+")
1 a 500 1
2 b 200 1
3 c 500 1
4 d 200 1
5 a 600 1
6 b 500 1
7 c 300 1
8 d 100 1
9 a 600 2
10 b 500 2
11 c 300 2
12 d 100 2
13 d 600 2
14 a 100 3
15 b 500 3
16 c 800 3
17 d 900 3
18 c 800 3
我要得出的结果为:
xtx | name | money1 |
1 | a | 1100 |
2 | d | 700 |
3 | c | 1600 |
只用MYSQL语句,不要在MYSQL语句中加入其他语言如 select * from users where(txt"+i+")
解决方案 »
- 为同一列建2个索引,只是索引名不同,2者是相同的吗?
- 求教关于mysql数据计时的问题
- MySql 数据库查询语句太慢,如何优化!
- 如何在同一台机器上运行多个mysql服务
- mysql存储过程执行问题
- DatabaseMetaData.getTables()方法得到oracle所有用户创建的表
- 请问Mysql数据库如何加密
- ASP读取MYSQL中的中文数据都显示???
- 配置mysql的问题?高手进来!
- mysql 结构不同多表查询,请教语句
- 困惑:一个mysql查询的问题?where grid=1 可以,where grid=1 or grid=2就不行,为什么?
- delphi odbc3.51 连接 mysql
txt ¦ name ¦ money1 ¦
1 ¦ a ¦ 1100 ¦
2 ¦ d ¦ 700 ¦
3 ¦ c ¦ 1600 ¦ 2楼的语句是不对的,你没有考虑txt的条件了.
意思是
查找txt为1时money1值最大用户的name和money1的总数(也就是把txt=1的相同name的money1相加后,比较看谁最大,然后显示谁)查找txt为2时money1值最大用户的name和money1的总数(也就是把txt=2的相同name的money1相加后,比较看谁最大,然后显示谁)查找txt为3时money1值最大用户的name和money1的总数(也就是把txt=3的相同name的money1相加后,比较看谁最大,然后显示谁)
看怎么排序才能得出,txt不只是3条,是个很大的数据量!
select * from (SELECT txt,name,sum(money1) summoney FROM `users` group by txt,name) as a where not exists(select * from (SELECT txt,name,sum(money1) summoney FROM `users` group by txt,name) as b where b.txt=a.txt and b.summoney>a.summoney);这个试试吧。
我有2句SQL麻烦看看怎么组合比较好!我刚用inner join组合还报了错.看看能优化么?请大哥指点!!!
他们都是查同一张表,都group by home_team_name了他.select * from (SELECT home_team_name,user_name,sum(user_amount) summoney FROM `bets_casino` group by home_team_name,user_name) as a where not exists(select * from (SELECT home_team_name,user_name,sum(user_amount) summoney FROM `bets_casino` group by home_team_name,user_name) as b where b.home_team_name=a.home_team_name and b.summoney>a.summoney)select count(*), sum(company_part), sum(company_amount), sum(IF(goal_home=3,odds*(1-sole_per-parter_per),amount*(1-sole_per-parter_per))), sum(IF(goal_home=3,odds*(1-sole_per-parter_per)*0.008,amount*(1-sole_per-parter_per)*0.008)) from bets_casino where(status=8)group by home_team_name order by home_team_name
select txt,name,sum(money1) as money1 from users group by txt,name order by money1 desc
) as temp group by txt
8楼的那个方法如果遇到2个一样的是都显示出来是么?
MYSQL刚接触不久,请各位高手赐教!