各行の学期にレジスタ番号、dob、学生名、性別、合計マークを持つmysqlテーブルがあります。1回のSQLクエリで合計点数の降順で10人の男の子と5人の女の子のレコードを取得したいと思います。
質問する
87 次
3 に答える
1
私のMySQL方言はさびていますが、これでうまくいくはずです
(SELECT * FROM Students WHERE sex = 'Male' ORDER BY TotalMarks DESC LIMIT 10)
UNION ALL
(SELECT * FROM Students WHERE sex = 'Female' ORDER BY TotalMarks DESC LIMIT 5)
これは単一のクエリです。
于 2012-07-31T13:20:11.437 に答える
0
このコードを試してください:
select
a.studentID,
a.studentName,
a.dob,
a.totalMark
from
(
select
studentID,
studentName,
dob,
totalMark
from
students
where
sex='M'
order by
studentMark desc
limit 10
union all
select
studentID,
studentName,
dob,
totalMark
from
students
where
sex='F'
order by
totalMark desc
limit 5
)
order by
totalMark desc
于 2012-07-31T13:20:31.363 に答える
0
これを試して
select * from
(select reg_number, dob, student_name, sex, total_marks where sex='male'
order by total_marks desc limit 10
union
select reg_number, dob, student_name, sex, total_marks where sex='female'
order by total_marks desc limit 5) a order by total_marks desc
于 2012-07-31T13:20:39.030 に答える