没有任何培训(和聋)我开发了一个城镇门户系统,但我放弃了特定的选择语句。Mysql select if else和order by statement
SELECT `id` FROM `test` ORDER BY FIND_IN_SET(`townid`,'townA'), date DESC LIMIT 3 ;
CREATE TABLE `test` (
`id` int(5) NOT NULL AUTO_INCREMENT,
`townid` varchar(10) NOT NULL,
`data` text NOT NULL,
`date` date NOT NULL DEFAULT '2017-08-30'
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
INSERT INTO `test` (`id`, `townid`, `data`, `date`) VALUES
(1, 'townB', 'Data for Town B', '2017-08-29'),
(2, 'townA', 'Data for Town A', '2017-08-28'),
(3, 'townA', 'Data for Town A', '2017-08-27'),
(4, 'townA', 'Data for Town A', '2017-08-26'),
(5, 'townC', 'Data for Town C', '2017-08-25'),
(6, 'townB', 'Data for Town B', '2017-08-24');
ALTER TABLE `test`
ADD PRIMARY KEY (`id`);
ALTER TABLE `test`
MODIFY `id` int(5) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=7;COMMIT;
的目标是,
- townA选择ID 2,3和4
- townB选择ID 1,6和2
- townC选择ID 5,1和2
换句话说,小镇首先按日期顺序选择自己的文章,限制为3,否则从任何日期顺序中选择限制3或剩余限制3其他城镇。
无论选择在哪里townid
=“townB”或WHERE townid
IN(“townB”)能够处理3极限问题,我需要三个结果,即使只有2第1项为B镇
没有经过正规的培训,甚至研究生说没有多少毕业生能达到什么我做了,但没有正式的训练,我只知道我所学到的自己,也最有可能大量的“非常容易”的事情,我不不知道。 (我从来没有放弃,搜索和搜索,并尝试,直到我找到一个解决方案,但这一个......) –
虽然我无法回答任何形式的残疾可能提供的障碍,像我自己,我怀疑只有在这里的少数人已经接受过任何正式的培训。 – Strawberry
没有人可以在现实生活中提问 - 这是我的障碍,虽然很容易上网,但我几乎从不这样做,因为我相信自己在做和学习自己。 (Grrr我写的一些代码可能比这个更难20倍,但是......) –