2016-03-19 7 views
0

Können Sie mir helfen, indem Sie die folgende Frage beantworten? Wie kann ich Zeilen in dieser SQL-Anweisung zählen?Wie kann ich Zeilen in dieser SQL-Anweisung zählen?

SELECT `u`.*, 
    (6371 * Acos(Cos(Radians(51.6992)) * Cos(Radians(localization_lat)) * 
           Cos(Radians(localization_lng) - Radians( 
            5.3042)) + 
       Sin 
        ( 
          Radians(51.6992)) * Sin(Radians(localization_lat)) 
      )) AS 
    `distance` 
FROM `ads` AS `u` 
WHERE (localization_zip_code LIKE '%5200%') 
     AND (date_end > '2016-03-19 19:34:43' 
      AND date_start < '2016-03-19 19:34:43') 
     AND (is_show = 1) 
     AND (is_accept_admin = 1) 
     AND (is_in_category_page = 1) 
HAVING (`distance` < '70') 
ORDER BY `distance` ASC 
+0

Mysql 'count()'. 'SELECT COUNT (Spalte) FROM ...'. Es wäre einfacher, eine vollständigere Antwort zu geben, wenn Sie Ihre aktuelle und erwartete Ausgabe bereitstellen würden. – Ding

Antwort

0

select count(*) from table oder select count(column name) from table Methode gibt die Anzahl der Datensätze versuchen

SELECT Count(*), 
    `u`.*, 
    (6371 * Acos(Cos(Radians(51.6992)) * Cos(Radians(localization_lat)) * 
           Cos(Radians(localization_lng) - Radians( 
            5.3042)) + 
       Sin 
        ( 
          Radians(51.6992)) * Sin(Radians(localization_lat)) 
      )) AS 
    `distance` 
FROM `ads` AS `u` 
WHERE (localization_zip_code LIKE '%5200%') 
     AND (date_end > '2016-03-19 19:34:43' 
      AND date_start < '2016-03-19 19:34:43') 
     AND (is_show = 1) 
     AND (is_accept_admin = 1) 
     AND (is_in_category_page = 1) 
HAVING (`distance` < '70') 
ORDER BY `distance` ASC 
0

Ja, ich weiß, aber wenn ich Zählung put() in der Erklärung bekommen I 0 Boerse während ohne count() ich zwei in diesem Fall ... Kann ich count() und HAVING in einer SQL-Anweisung verwenden?

0

Sie sollten in der Lage sein, es als Unterabfrage SELECT COUNT(*) FROM (...) AS mysubquery zu tun. Also vielleicht so etwas wie:

SELECT COUNT(*) FROM (
    SELECT `u`.*, 
    (6371 * Acos(Cos(Radians(51.6992)) * Cos(Radians(localization_lat)) * 
           Cos(Radians(localization_lng) - Radians(
            5.3042)) + 
        Sin 
        (
          Radians(51.6992)) * Sin(Radians(localization_lat)) 
      )) AS 
    `distance` 
    FROM `ads` AS `u` 
    WHERE (localization_zip_code LIKE '%5200%') 
     AND (date_end > '2016-03-19 19:34:43' 
       AND date_start < '2016-03-19 19:34:43') 
     AND (is_show = 1) 
     AND (is_accept_admin = 1) 
     AND (is_in_category_page = 1) 
    HAVING (`distance` < '70') 
    ORDER BY `distance` ASC 
) AS mysubquery 
Verwandte Themen