Kỹ thuật
Sử dụng hàm MOD() trong mệnh đề WHERE để lọc các hàng có ID lẻ (hoặc chẵn), sau đó sắp xếp bằng ORDER BY ... DESC.
1. Tạo bảng
mysql> create table DemoTable (
UniqueId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
ClientName varchar(40),
ClientAge int
);
Query OK, 0 rows affected (1.02 sec)
2. Chèn dữ liệu
mysql> insert into DemoTable(ClientName,ClientAge) values('Chris',34);
mysql> insert into DemoTable(ClientName,ClientAge) values('Tom',45);
mysql> insert into DemoTable(ClientName,ClientAge) values('Sam',36);
mysql> insert into DemoTable(ClientName,ClientAge) values('Carol',42);
mysql> insert into DemoTable(ClientName,ClientAge) values('David',38);
3. Xem dữ liệu
mysql> select * from DemoTable;
+----------+------------+-----------+ | UniqueId | ClientName | ClientAge | +----------+------------+-----------+ | 1 | Chris | 34 | | 2 | Tom | 45 | | 3 | Sam | 36 | | 4 | Carol | 42 | | 5 | David | 38 | +----------+------------+-----------+ 5 rows in set (0.00 sec)
4. Truy vấn lấy hàng xen kẽ (ID lẻ) và sắp xếp giảm dần
mysql> select * from DemoTable where mod(UniqueId,2)=1 order by UniqueId DESC;
Kết quả:
+----------+------------+-----------+ | UniqueId | ClientName | ClientAge | +----------+------------+-----------+ | 5 | David | 38 | | 3 | Sam | 36 | | 1 | Chris | 34 | +----------+------------+-----------+ 3 rows in set (0.00 sec)
Lưu ý: Để lấy hàng chẵn, dùng mod(UniqueId,2)=0.