✅ WEB- och WordPress -nyheter, teman, plugins. Här delar vi tips och bästa webbplatslösningar.

Hur listar man de mest röstade inläggen på ett år med SQL?

8

I det här inlägget lär vi oss hur du använder SQL listar de mest populära inläggen (enligt antalet kommentarer för varje inlägg). Detta inlägg kommer vi att få lite grundläggande statistik för inläggen under 2016 och vi lär oss också de 10 bästa inläggen sorterade efter röstning.

Totalt antal inlägg

Baserat på denna SQL :

SELECT   count(1) FROM   wp_posts WHERE   post_type = "post" and   post_status = "publish" and   date_format(post_date_gmt, "%Y") = "2016"

Vi vet att det finns 245 inlägg publicerade under 2016.

+----------+ | count(1) | +----------+ |      245 | +----------+ 1 row in set (0.01 sec)

Topp mest diskuterade inlägg

Och baserat på SQL, har vi de mest diskuterade inläggen för i år, alltså 2016.

SELECT   post_name, post_title FROM   wp_posts WHERE   post_type = 'post' and   post_status = 'publish' and   date_format(post_date_gmt, "%Y") = '2016' ORDER BY  comment_count DESC LIMIT 10

Vi känner till de 10 mest diskuterade (som mest populära) inläggen under 2016. Ändra gränsen 10 för att tillåta att fler inlägg visas, t.ex. gräns 20.

+--------------------------------------------------------------------------------+------------------------------------------------------------------------+ | post_name                                                                      | post_title                                                             | +--------------------------------------------------------------------------------+------------------------------------------------------------------------+ | cc-coding-exercise-convert-a-number-to-hexadecimal                             | C/C++ Coding Exercise - Convert a Number to Hexadecimal?               | | dynamic-programming-how-many-ways-to-connect-the-pipes                         | Dynamic Programming - How many ways to connect the pipes?              | | when-xx-evaluates-to-false-in-cc                                               | When x==x Evaluates to FALSE in C/C++?                                 | | how-to-compute-sum-of-two-integers-without-plus-and-minus-operators            | How to Compute Sum of Two Integers without Plus+ and Minus- Operators? | | how-to-find-intersection-of-two-arrays-in-c                                    | How to Find Intersection of Two Arrays in C++?                         | | bit-manipulation-how-to-set-all-bits-between-i-and-j-in-n-equal-to-m-cplusplus | Bit Manipulation: How to Set All Bits Between i and j in N equal to M? | | how-to-check-valid-anagram-in-cc                                               | How to Check Valid Anagram in C/C++?                                   | | c-coding-exercise-number-of-1-bits-revisited                                   | C++ Coding Exercise - Number of 1 Bits (Revisited)                     | | dynamic-programming-integer-break                                              | Dynamic Programming - Integer Break                                    | | cc-coding-exercise-find-the-duplicate-number                                   | C/C++ Coding Exercise - Find the Duplicate Number                      | +--------------------------------------------------------------------------------+------------------------------------------------------------------------+ 10 rows in set (0.01 sec)

Dessa är (i skrivande stund):

  1. C/C++ Kodningsövning – Konvertera ett tal till hexadecimalt?
  2. Dynamisk programmering – Hur många sätt att ansluta rören?
  3. När x==x utvärderas till FALSK i C/C++?
  4. Hur beräknar man summan av två heltal utan Plus+ och Minus-operatorer?
  5. Hur hittar man skärningspunkten mellan två matriser i C++?
  6. Bitmanipulation: Hur ställer man in alla bitar mellan i och j i N lika med M?
  7. Hur kontrollerar jag ett giltigt anagram i C/C++?
  8. C++-kodningsövning – antal 1 bitar (återbesökt)
  9. Dynamisk programmering – heltalsbrytning
  10. C/C++ Kodningsövning – Hitta dubblettnumret

Mest röstade inlägg via SQL

Nu kan vi kombinera röststatistiken från GD Star Rating Plugin och få ytterligare en intressant ranking.

Detta ger följande 10 mest röstade inlägg under året:

+------+----------------------------------------------------------------------------+-------------+---------------+------------+ | ID   | title                                                                      | total_votes | visitor_votes | user_votes | +------+----------------------------------------------------------------------------+-------------+---------------+------------+ | 4793 | When x==x Evaluates to FALSE in C/C++?                                     |       105.0 |          95.0 |       10.0 | | 4679 | How to Find the Maximum of Two Integers without Using Comparison Operator? |        81.0 |          81.0 |        0.0 | | 4191 | How to Delete a Node from a Binary Search Tree?                            |        68.0 |          58.0 |       10.0 | | 4380 | C++ Coding Exercise: How to Check if a Large Integer is divisible by 11?   |        67.0 |          57.0 |       10.0 | | 4329 | Microsoft Interview Question - Get the Area of the Triangle                |        66.0 |          66.0 |        0.0 | | 4740 | PPAP in C++ and Javascript for Beginner                                    |        62.0 |          52.0 |       10.0 | | 4166 | How to Invert a Binary Tree in C/C++?                                      |        48.0 |          48.0 |        0.0 | | 4176 | How to Reverse Bits for 32-bit Unsigned Integer in C/C++?                  |        46.0 |          46.0 |        0.0 | | 4178 | C++ Coding Exercise - How to Find First Missing Number?                    |        40.0 |          40.0 |        0.0 | | 4227 | Dynamic Programming - Integer Break                                        |        31.0 |          31.0 |        0.0 | +------+----------------------------------------------------------------------------+-------------+---------------+------------+ 10 rows in set (0.01 sec)
  1. När x==x utvärderas till FALSK i C/C++?
  2. Hur hittar man maximalt två heltal utan att använda jämförelseoperator?
  3. Hur tar man bort en nod från ett binärt sökträd?
  4. C++-kodningsövning: Hur kontrollerar man om ett stort heltal är delbart med 11?
  5. Microsoft-intervjufråga – Få arean av triangeln
  6. PPAP i C++ och Javascript för nybörjare
  7. Hur man inverterar ett binärt träd i C/C++?
  8. Hur vänder man bitar för 32-bitars osignerat heltal i C/C++?
  9. C++ Kodningsövning – Hur hittar man det första saknade numret?
  10. Dynamisk programmering – heltalsbrytning

Naturligtvis kan du modifiera ovanstående båda SQL-frågor så att det ger 12 inlägg, dvs ett bästa för varje månad. Du behöver bara gruppera efter månaden så här:

GROUP BY date_format(`p`.post_date_gmt, "%M")

Och du kan också skapa en PHP-sida som ger de mest uppdaterade rankningstabellerna för inläggen, men det som har visats här är statiskt, dvs rankningstabellen genereras som den är idag.

SQL

Inspelningskälla: helloacm.com

Denna webbplats använder cookies för att förbättra din upplevelse. Vi antar att du är ok med detta, men du kan välja bort det om du vill. Jag accepterar Fler detaljer