私は町のポータルシステムを開発しましたが、特定のselect文をあきらめました。Mysqlがelseとorder by文で選択
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;
目的は、ID 5を選択townC ID 1,6および2
- ことである1,2
言い換えれば、町は、自分のOWN記事を、最初に日付3の順に選択し、ELSEは、1つの制限3を選択するか、任意の他の町。
どちらtownid
=「townB」またはWHERE townid
IN(「townB」)はタウンBのための唯一の1 2のエントリ
でも卒業はない、多くの卒業生が、私がやったことを達成することができます言ったが、正式な訓練なしで私が唯一の私は自分自身のことを学んだか知っていると私はドン「非常に簡単」なものの多くは、最も可能性があります知っている。 (私は決して諦めずに検索して検索し、解決策が見つかるまで試してみる...) –
自分自身のように、障害の可能性がある障害に答えることはできませんが、ここにいる少数の人々は、正式な訓練を受けています。 – Strawberry
本当のライブで尋ねる人は誰もいません - それは私の障害です。オンラインで簡単なのですが、自分でやっていることを信じている限り、決してそうしません。 (私が書いたコードのいくつかはおそらく20倍の難しさですが....) –