mysql 取每個分類下的N條記錄
第一種方式
SELECT
*
FROM
tablename AS a
WHERE
(SELECT
COUNT(*)
FROM
tablename AS b
WHERE
b.分類id = a.分類id AND b.id >= a.id) <= 5
ORDER BY a.分類id ASC , a.id DESC
第二種方式
SELECT
*
FROM
tablename AS a
WHERE
(SELECT
COUNT(*)
FROM
tablename AS b
WHERE
b.type = a.type AND b.id >= a.id) <= 5
ORDER BY a.type ASC , a.id DESC
相關推薦
mysql 取每個分類下的N條記錄
第一種方式 SELECT * FROM tablename AS a WHERE (SELECT COUNT(*) FROM tablename AS b WHERE
[SQL]取每個使用者最近一條記錄(分組取Top n)
一直沒有時間寫分享,終於等到雙十一,任何需求都不準上,這才抽出時間整理一下蒐集了好幾天的SQL。 需求:查出使用者最近一條登入記錄。(110w條) 前提:預設時間和id都是遞增。(求時間最大->求id最大) 第一種:select * from user_log
Mysql和Oracl 分組取每組前N條記錄
MySQL取每組的前N條記錄:使用自連線的方式一、對分組的記錄取前N條記錄:例子:取前 2條最大(小)的記錄1234567891011121314151617181.用子查詢:SELECT * FROM right2 a WHERE 2>(SELECT COUNT(*
MYSQL查詢每個分類的第一條資料
name score type 張三 89 1 李四 58 1 王五 80 2 馬六 35 2 周七 95 3 要求查詢結果為: name score type 張三 8
用postgresql特性簡化group by 後取每組前n條記錄的方法
需求: 求一段時間內各生產線前3名壞機的原因及壞機數. step 1, 從將原始資料中抽取品質資料放於t96臨時表 create temp table t96 on commit drop as
分組查詢取每組前n條記錄例項
假設有這樣一張運動員比賽成績表 tb_score 現在要求查詢出每個國家的前三名的成績記錄,查詢語句可以這樣寫: 1、 select t3.id,t3.country,t3.score fro
Mysql獲取每組前N條記錄(開窗函式)
由於專案需求,我需要把查詢出來的資料進行分組,並且只需要每組前三條記錄,後來瞭解到MySQL實現開窗函式的方法,用了之後發現是可以,但今天發現這個方法在Navicat Premium軟體中執行第一次所查詢出來的資料不符合,執行第二次才是符合要求,具體原因有空再瞭
Mysql獲取每組前N條記錄
Select基礎知識 我們在實現select語句的時候,通用的sql格式如下: select *columns* from *tables* where *predicae1* group by *columns* having
mysql使用GROUP BY分組實現取前N條記錄的方法
cls class ges rom 當前 分組 實現 一個 images MySQL中GROUP BY分組取前N條記錄實現 mysql分組,取記錄 GROUP BY之後如何取每組的前兩位下面我來講述mysql中GROUP BY分組取前N條記錄實現方法。 這是測試表(也
mysql學生成績排名,分組取前 N 條記錄
score表: CREATE TABLE `score` ( `student_id` int(10) DEFAULT NULL, `class_id` int(10) DEFAULT NULL, `score` int(5) DEFAULT
MySQL取每組的前N條記錄
MySQL 分組後取每組前N條資料 與oracle的 rownumber() over(partition by xxx order by xxx )語句類似,即:對錶分組後排序 CREATE TABLE `mygoods` ( `goods
mysql查詢某屬性下所有值的前N條記錄
例如, 姓名 科目 成績 王 數學 100 王 語文 99 王 英語 98 王 生物 97 王 政治 96 王 物理 95 王 化學 94 王 體育 93
Mysql分組統計、排序、取前N條記錄解決方案
今日根據專案需求,需要在mysql中解決記錄的分組統計、排序,並抽取前10條記錄的功能。現已解決,解決方案如下: 1)表結構 <span style="font-size:18px;">CREATE TABLE `policy_keywords_rel` (
mysql分組查詢n條記錄
sta 最大的 查詢 需求 dmi 依據 count 狀態 重點 當業務邏輯越來越復雜時,這個查詢的需求會越來越多,今天寫成筆記記錄下來,防止再忘記 SELECT * FROM `notice` a where add_time > 1513008000 and a
mysql分組取每組前幾條記錄(排名) 附group by與order by的研究
select a.* from tb a where val = (select max(val) from tb where name = a.name) order by a.name--方法2:select a.* from tb a where not exists(select 1 from tb
mysql分組取每組前幾條記錄
1、表SQL: DROP TABLE IF EXISTS `ho_archives`; CREATE TABLE `ho_archives` ( `id` mediumint(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID',
隨機讀取N條記錄(MySQL、SQL Server、Access、Oracle、postgreSQL)
利用一條SQL語句從資料庫Table表中隨機獲取N條記錄,各資料庫的SQL語句略有不同,如下: 1、MySql Select * From TABLE Order By Rand() Limit N 以上程式碼效率不高,自己對1000條資料表隨機取10條的測試結果為耗時0
使用Kettle 對記錄排序並取前面n條記錄的方法
2.1:測試資料準備工作 -- 建立表 CREATE TABLE `tmallorder` ( `datekey` INT(11) NOT NULL,-- 日期 `storename` VARCHAR(50) CHARACTER SET utf8 COLLATE u
MySQL實現根據當前ID讀取上一條和下一條記錄
以下為MySQL語句演示: SELECT * FROM t_news AS n ORDER BY n.`News_ID` 當前ID為4,讀取上一條記錄: SELECT * FROM t_news AS n WHERE n.`News_ID` < 4 ORD
mysql獲取每個分類下面的前五條資料
現在專案遇到個問題,我電商網站,商品有很多分類,我想取出每個分類下面的前五條資料,應該怎麼做呢?資料結構如下:DROP TABLE IF EXISTS `products`; CREATE