Kuinka luetella vuoden eniten äänestäneet viestit SQL:n avulla?
Tässä viestissä opimme käyttämään SQL:ää luettelosta suosituimmat viestit (kunkin viestien kommenttien määrän mukaan). Tästä postauksesta saamme joitain perustilastoja vuoden 2016 viesteistä, ja myös, opimme huonosti 10 parasta viestiä, jotka on lajiteltu äänestysten perusteella.
Viestien kokonaismäärä
Tämän SQL :n perusteella :
SELECT
count(1)
FROM
wp_posts
WHERE
post_type = "post" and
post_status = "publish" and
date_format(post_date_gmt, "%Y") = "2016"
Tiedämme, että vuonna 2016 on julkaistu 245 viestiä.
+----------+
| count(1) |
+----------+
| 245 |
+----------+
1 row in set (0.01 sec)
Suosituimmat keskustelunaiheet
Ja SQL:n perusteella meillä on tämän vuoden, eli 2016, eniten keskusteltu viestit.
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
Tiedämme 10 eniten keskusteltua (suosituimpana) viestiä vuonna 2016. Muuta rajaa 10 salliaksesi enemmän viestejä, esim. raja 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)
Nämä ovat (kirjoitettaessa):
- C/C++-koodausharjoitus – Muunna luku heksadesimaaliksi?
- Dynaaminen ohjelmointi – Kuinka monta tapaa yhdistää putket?
- Kun x==x on arvoltaan EPÄTOSI C/C++:ssa?
- Kuinka laskea kahden kokonaisluvun summa ilman plus+- ja miinus-operaattoreita?
- Kuinka löytää kahden taulukon leikkauspiste C++:ssa?
- Bittimanipulaatio: Kuinka asettaa kaikki bitit i:n ja j:n välillä N:ssä yhtä suureksi kuin M?
- Kuinka tarkistaa kelvollinen anagrammi C/C++:ssa?
- C++-koodausharjoitus – 1 bitin määrä (tarkastettu uudelleen)
- Dynaaminen ohjelmointi – kokonaislukumurto
- C/C++-koodausharjoitus – Etsi kaksoisnumero
Eniten äänestäneet viestit SQL:n kautta
Nyt voimme yhdistää GD Star Rating Pluginin äänestystilastot ja saada toisen mielenkiintoisen sijoituksen.
Tämä antaa seuraavat 10 eniten äänestettyä viestiä vuonna:
+------+----------------------------------------------------------------------------+-------------+---------------+------------+
| 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)
- Kun x==x on arvoltaan EPÄTOSI C/C++:ssa?
- Kuinka löytää enintään kaksi kokonaislukua ilman vertailuoperaattoria?
- Kuinka poistaa solmu binäärihakupuusta?
- C++-koodausharjoitus: Kuinka tarkistaa, onko suuri kokonaisluku jaollinen 11:llä?
- Microsoftin haastattelukysymys – Hanki kolmion pinta-ala
- PPAP C++:ssa ja Javascript aloittelijoille
- Kuinka kääntää binääripuu C/C++:ssa?
- Kuinka kääntää bittejä 32-bittiselle etumerkittömälle kokonaisluvulle C/C++:ssa?
- C++-koodausharjoitus – Kuinka löytää ensimmäinen puuttuva numero?
- Dynaaminen ohjelmointi – kokonaislukumurto
Tietysti voit muokata yllä olevia molempia SQL-kyselyjä niin, että se antaa 12 viestiä eli yhden parhaan jokaiselle kuukaudelle. Sinun tarvitsee vain ryhmitellä kuukauden mukaan seuraavasti:
GROUP BY date_format(`p`.post_date_gmt, "%M")
Ja myös, voit luoda PHP -sivun, joka antaa uusimmat rankingtaulukot vireille, mutta tässä näkyvät ovat staattisia eli rankingtaulukko luodaan sellaisena kuin se on tänään.
SQL