试试下面的:select * from myTable
where convert(char(10), CategroyID)+convert(char(20), CategoryTime) in (
Select top 10 convert(char(10), CategroyID)+convert(char(20), CategoryTime) from myTable order by 1 desc)
ORDER BY CategroyID, CategoryTime DESC特佩服楼主的精神,向楼主学习!!!
where convert(char(10), CategroyID)+convert(char(20), CategoryTime) in (
Select top 10 convert(char(10), CategroyID)+convert(char(20), CategoryTime) from myTable order by 1 desc)
ORDER BY CategroyID, CategoryTime DESC特佩服楼主的精神,向楼主学习!!!
(
SELECT Top 10 '1' as id,myTable.*
FROM myTable
WHERE CategroyID=1
UNIONSELECT Top 10 '2' as id ,myTable.*
FROM myTable
WHERE CategroyID=2
UNIONSELECT Top 10 '3' as id ,myTable.*
FROM myTable
WHERE CategroyID=3
) A
ORDER BY id,CategoryTime DESC,CategroyID
FROM myTable
WHERE CategroyID=1
UNIONSELECT Top 10 *
FROM myTable
WHERE CategroyID=2
UNIONSELECT Top 10 *
FROM myTable
WHERE CategroyID=3
ORDER BY CategroyID ,CategoryTime DESC
select * from
(SELECT Top 2 *
FROM myTable
WHERE CategroyID=1
order by CategoryTime desc)a
UNIONselect * from
(SELECT Top 2 *
FROM myTable
WHERE CategroyID=2
order by CategoryTime desc)a
UNION
select * from
(SELECT Top 2 *
FROM myTable
WHERE CategroyID=3
order by CategoryTime desc)a
ORDER BY CategroyID ,CategoryTime DESC
select * from(
SELECT Top 10 *
FROM myTable
WHERE CategroyID=1
ORDER BY CategoryTime)a
UNION all
select * from(
SELECT Top 10 *
FROM myTable
WHERE CategroyID=2
ORDER BY CategoryTime)a
UNION all
select * from(
SELECT Top 10 *
FROM myTable
WHERE CategroyID=3
ORDER BY CategoryTime)a