adam99: MySQL MOD Abfage?

Hallo zusammen,

habe folgende Abfrage:

  
SELECT id, wert1,  
 MOD( ( MOD( ( TO_DAYS( NOW( ) ) - TO_DAYS( td.create_date ) ) , 3 ) AS mymod1  
FROM tabelle_data AS td  
WHERE  
MOD( ( TO_DAYS( NOW( ) ) - TO_DAYS( td.create_date ) ) , 3 ) =0  

Diese Query soll mir alle Werte aus meine Tabelle auslesen, die dem Wert über MOD gleich 0 entsprechen alle auslesen, leider ist das nicht der Fall.
Schreibe ich die "Anweisung" im SELECT Teil, "mymod1", werden die Daten Ordnung gemäß auslesen.
Schreibe ich diese Anweisung als Abfrage Bedingung, geschieht nichts.

Hat jemand eine Idee, wie ich das lösen kann?
Grüße
Adman99

  1. Hai,

    zähle mal die Klammern in Deinem Select-Statement, das sind zu viele!

    m.b.G. Rolf

    1. Hi,

      zähle mal die Klammern in Deinem Select-Statement, das sind zu viele!

        
      SELECT id, wert1,  
      MOD( (  TO_DAYS( NOW()) - TO_DAYS(td.create_date)  ), 3 ) AS mymod1  
      FROM tabelle_data AS td  
      WHERE  
      MOD( ( TO_DAYS( NOW() ) - TO_DAYS( td.create_date ) ) , 3 ) =0  
      
      

      ja, stimmt, habe es korrigiert.
      Und sonst eine Idee?

      1. Hai,

        ja, stimmt, habe es korrigiert.
        Und sonst eine Idee?

        negativ,
        ohne Musterdaten kann ich hier nicht testen.
        Ohne testen müßte ich raten.
        Raten mag ich net ... :-(

        Es müssen ja nicht viele Zeilen sein, halt nur soviel dass man es mal
        probieren kann. Poste hier einfach die URL zu der Feile mit den Daten.

        m.b.G. Rolf

        1. negativ,
          ohne Musterdaten kann ich hier nicht testen.
          Ohne testen müßte ich raten.
          Raten mag ich net ... :-(

          Es müssen ja nicht viele Zeilen sein, halt nur soviel dass man es mal
          probieren kann. Poste hier einfach die URL zu der Feile mit den Daten.

          Hi

          hier die Tabelle:

            
          CREATE TABLE IF NOT EXISTS `tabelle_data1` (  
              `id` int(11) NOT NULL auto_increment,  
              `wert1` varchar(250) default '' COMMENT 'Nur testdaten.',  
              `create_date` datetime default '2009-05-04 13:00:00' COMMENT 'Datum fuer internen Zwecke.',  
              PRIMARY KEY  (`id`)  
          ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='Eine Test Tabelle, mit paar Daten' AUTO_INCREMENT=1 ;  
          
          

          Hier paar inserts:

            
          INSERT INTO `tabelle_data1` (`id`, `wert1`, `create_date`) VALUES  
          (1, 'wert_1', '2009-07-16 11:19:50'),  
          (2, 'test_3', '2009-07-08 11:21:43'),  
          (3, 'bal bal ', '2009-06-16 11:21:50'),  
          (4, '4 ', '2009-07-01 11:21:58'),  
          (5, '-5- ', '2009-07-06 11:22:07'),  
          (6, 'wert_Xd', '2009-02-09 11:22:17');  
          
          

          Ein Insert Befehl:

            
          insert into `tabelle_data1` (wert1, create_date) values ("wert_1", NOW() )  
          
          

          Grüße

          1. Okay,

            SELECT id, wert1,  
            MOD( ( TO_DAYS( NOW() ) - TO_DAYS( td.create_date) ), 3 ) AS mymod1  
            FROM data1 AS td  
            WHERE  
            MOD( ( TO_DAYS( NOW() ) - TO_DAYS( td.create_date) ) , 3) = 0;
            

            Und was gefällt Dir an:

            +----+--------+--------+  
            | id | wert1  | mymod1 |  
            +----+--------+--------+  
            |  2 | test_3 |      0 |  
            +----+--------+--------+  
            1 row in set (0.00 sec)
            

            nun nicht ... ?

            m.b.G. Rolf