MySQL查询的问题,纠结好久了
就是想要查询4个月内发表文章最多的3个用户(用户当然不能重复),当然文章得是最新的,因为页面上的列表显示是用户名和最新的文章标题
php代码如下:
$m4 = 当前时间戳 - 86400 * 124;
具体sql如下:
select uid,uname,title 表名 where dateline>$m4 group by uid order by dateline desc
虽然这样我能够查询出来4个月内不重复的用户,但是文章标题却是这个用户发表的第一篇文章,不是最后发布的文章。
另外需要注意的是:
1、不能使用联合查询
2、不能使用子查询
T-SQL:
create table article ( `id` int(11) unsigned not null auto_increment comment '编号id', `subject` varchar(300) not null comment '标题', `uid` mediumint(8) unsigned not null comment '用户编号', `uname` varchar(20) not null comment '用户名', `dateline` int(10) unsigned not null comment '发表时间', primary key(id) ) engine=myisam charset=utf8 comment='文章信息表'; insert article (subject, uid, uname, dateline) values ('标题1', 2, '用户2', 1436708324), ('标题2', 2, '用户2', 1438515690), ('标题3', 2, '用户2', 1438608818), ('标题4', 1, '用户1', 1436458649), ('标题5', 2, '用户2', 1437273021), ('标题6', 2, '用户2', 1438687437);
回复内容:
就是想要查询4个月内发表文章最多的3个用户(用户当然不能重复),当然文章得是最新的,因为页面上的列表显示是用户名和最新的文章标题
php代码如下:
$m4 = 当前时间戳 - 86400 * 124;
具体sql如下:
select uid,uname,title 表名 where dateline>$m4 group by uid order by dateline desc
虽然这样我能够查询出来4个月内不重复的用户,但是文章标题却是这个用户发表的第一篇文章,不是最后发布的文章。
另外需要注意的是:
1、不能使用联合查询
2、不能使用子查询
T-SQL:
create table article ( `id` int(11) unsigned not null auto_increment comment '编号id', `subject` varchar(300) not null comment '标题', `uid` mediumint(8) unsigned not null comment '用户编号', `uname` varchar(20) not null comment '用户名', `dateline` int(10) unsigned not null comment '发表时间', primary key(id) ) engine=myisam charset=utf8 comment='文章信息表'; insert article (subject, uid, uname, dateline) values ('标题1', 2, '用户2', 1436708324), ('标题2', 2, '用户2', 1438515690), ('标题3', 2, '用户2', 1438608818), ('标题4', 1, '用户1', 1436458649), ('标题5', 2, '用户2', 1437273021), ('标题6', 2, '用户2', 1438687437);
思路应该是:
先找出四个月内发表文章最多的3个用户;
再根据用户id查询该用户最新的文章标题;
sql如下:
找出四个月内发表文章最多的3个用户
<code>select uid,name,count(subject) as article_count from article where dateline>$m4 group by uid order by article_count desc, dateline desc limit 3</code>
根据用户id查询该用户最新的文章标题:
<code>select subject from article where uid='uid' order by dateline desc limit 1</code>
select * from (
<code>select uid,uname,title 表名 where dateline>$m4 order by dateline DESC</code>
) a group by uid
1、不能使用联合查询
2、不能使用子查询
那只好尝试一下为 dateline
建立逆序索引
都不能那就查两次呗
自行脑补一下MySQL的having语法
我是 新手,不过group by这样写能执行吗

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Die Zukunft von PHP wird erreicht, indem sich an neue Technologietrends angepasst und innovative Funktionen eingeführt werden: 1) Anpassung an Cloud Computing, Containerisierung und Microservice -Architekturen, Unterstützung von Docker und Kubernetes; 2) Einführung von JIT -Compilern und Aufzählungsarten zur Verbesserung der Leistung und der Datenverarbeitungseffizienz; 3) die Leistung kontinuierlich optimieren und Best Practices fördern.

Sie können PhpMyAdmin in den folgenden Schritten öffnen: 1. Melden Sie sich beim Website -Bedienfeld an; 2. Finden und klicken Sie auf das Symbol phpmyadmin. 3. Geben Sie MySQL -Anmeldeinformationen ein; 4. Klicken Sie auf "Login".

PHP und Python haben jeweils ihre eigenen Vorteile, und die Wahl sollte auf Projektanforderungen beruhen. 1.PHP eignet sich für die Webentwicklung mit einfacher Syntax und hoher Ausführungseffizienz. 2. Python eignet sich für Datenwissenschaft und maschinelles Lernen mit präziser Syntax und reichhaltigen Bibliotheken.

PHP stirbt nicht, sondern sich ständig anpasst und weiterentwickelt. 1) PHP hat seit 1994 mehreren Versionen für die Version unterzogen, um sich an neue Technologietrends anzupassen. 2) Es wird derzeit in E-Commerce, Content-Management-Systemen und anderen Bereichen häufig verwendet. 3) PHP8 führt den JIT -Compiler und andere Funktionen ein, um die Leistung und Modernisierung zu verbessern. 4) Verwenden Sie Opcache und befolgen Sie die PSR-12-Standards, um die Leistung und die Codequalität zu optimieren.

Redis verwendet eine einzelne Gewindearchitektur, um hohe Leistung, Einfachheit und Konsistenz zu bieten. Es wird E/A-Multiplexing, Ereignisschleifen, nicht blockierende E/A und gemeinsame Speicher verwendet, um die Parallelität zu verbessern, jedoch mit Einschränkungen von Gleichzeitbeschränkungen, einem einzelnen Ausfallpunkt und ungeeigneter Schreib-intensiver Workloads.

MySQL ist ein Open Source Relational Database Management -System, das hauptsächlich zum schnellen und zuverlässigen Speicher und Abrufen von Daten verwendet wird. Sein Arbeitsprinzip umfasst Kundenanfragen, Abfragebedingungen, Ausführung von Abfragen und Rückgabergebnissen. Beispiele für die Nutzung sind das Erstellen von Tabellen, das Einsetzen und Abfragen von Daten sowie erweiterte Funktionen wie Join -Operationen. Häufige Fehler umfassen SQL -Syntax, Datentypen und Berechtigungen sowie Optimierungsvorschläge umfassen die Verwendung von Indizes, optimierte Abfragen und die Partitionierung von Tabellen.

MySQL wird für seine Leistung, Zuverlässigkeit, Benutzerfreundlichkeit und Unterstützung der Gemeinschaft ausgewählt. 1.MYSQL bietet effiziente Datenspeicher- und Abruffunktionen, die mehrere Datentypen und erweiterte Abfragevorgänge unterstützen. 2. Übernehmen Sie die Architektur der Client-Server und mehrere Speichermotoren, um die Transaktion und die Abfrageoptimierung zu unterstützen. 3. Einfach zu bedienend unterstützt eine Vielzahl von Betriebssystemen und Programmiersprachen. V.

Wie verbinde ich mit PhpMyAdmin mit MySQL? Die URL zum Zugriff auf phpmyadmin ist normalerweise http: // localhost/phpmyadmin oder http: // [Ihre Server -IP -Adresse]/Phpmyadmin. Geben Sie Ihren MySQL -Benutzernamen und Ihr Passwort ein. Wählen Sie die Datenbank aus, mit der Sie eine Verbindung herstellen möchten. Klicken Sie auf die Schaltfläche "Verbindung", um eine Verbindung herzustellen.
