我想到的是有规律的,而且有大大的规律,很有用的规律,例如当有很多很多的数据时(例如1000个数据,有可能有重复的),我需要最后面的50个不同的数据,而且是最后出现的放在最前面。举例说明吧:
有一组音乐点歌数据是这样的:(按时间先后顺序排列)
1、歌曲A
2、歌曲B
3、歌曲C
4、歌曲D
5、歌曲B(后来又有人点到歌曲B)
6、歌曲E
当我要播放最后点播的3首歌时(相同的歌曲只播放一次),我希望出现的是
歌曲依次是:歌曲E、B、D,但我用
select distinct MP3 from MUSIC order by id desc;
命令则不能出现我想要的,它的结果是E、D、C(因为它的排序是这样的:E、D、C、B、A)。
应该用什么方法才能达到我想要的目的。
希望大家为我指点迷津,谢谢
有一组音乐点歌数据是这样的:(按时间先后顺序排列)
1、歌曲A
2、歌曲B
3、歌曲C
4、歌曲D
5、歌曲B(后来又有人点到歌曲B)
6、歌曲E
当我要播放最后点播的3首歌时(相同的歌曲只播放一次),我希望出现的是
歌曲依次是:歌曲E、B、D,但我用
select distinct MP3 from MUSIC order by id desc;
命令则不能出现我想要的,它的结果是E、D、C(因为它的排序是这样的:E、D、C、B、A)。
应该用什么方法才能达到我想要的目的。
希望大家为我指点迷津,谢谢
解决方案 »
- 发现 /etc/init.d /mysqld start -----------是失败的 无法启动
- 大家帮忙看下我这MYSQL存储过程哪里有问题?
- 求教mysql查询时用到的match()against()函数问题
- Lock wait timeout exceeded; try restarting transaction应如何解决
- postgresql有没有类似oracel中exception得sqlcode或出错文字信息?
- 我想把两个字段合并成一个字段,并且字段里的所有信息也合并在一起,请问怎么操作?
- 一个MySQL表中建立60个左右的字段是否可行?MySQL中的金额用逗号分开(如:123,456.00)用什么类型?它有money类型吗?
- 求驱动程序!!
- mysql条件查询 条件需要处理字符串
- mysql查询结果为空时显示查询条件里的值
- 暂时告别MYSQL,学习新内容,散分啦!!!
- mysql c api 一问
6、歌曲A
5、歌曲B(后来又有人点到歌曲B)
4、歌曲C
3、歌曲D
2、歌曲B
1、歌曲E
当我要播放最后点播的3首歌时(相同的歌曲只播放一次),我希望出现的是
歌曲依次是:歌曲C、B、A,但我用
select distinct MP3 from MUSIC order by id desc;
命令则不能出现我想要的,它的结果是D、C、A(因为它的排序是这样的:E、B、D、C、A)。你可以只拿出前三首歌,而不必要全部拿来排,看
select distinct MP3 from MUSIC where id between '$from' and '$to' order by id desc;$from 为id最大值-3
$to 为id最大值这样取出来排序结果是CBA如果取前6个排
结果是EBDCA,仍然符合先点的歌先放的原则
ID 歌曲名
1 歌曲A(第一个点歌的人,id为1)
2 歌曲B
3 歌曲C
4 歌曲D
5 歌曲B(后来又有人点到歌曲B)
6 歌曲E
当我要选择最后点播的6首歌时(要求相同的歌曲只播放一次),我希望出现的歌曲依次是:歌曲E、B、D、C、A,但我用
select distinct MP3 from MUSIC where id between 1 and 5 order by id desc;(此时,相同的歌曲在 WHERE ID BETWEEN 1 AND 5 之间,结果导致WHERE ID BETWEEN 1 AND 5失效)
命令则不能出现我想要的,它的结果是E、D、C、B、A(因为它的排序是这样的:E、D、C、B、A)。
应该用什么方法才能达到我想要的目的?