• Как сочетать BEM и динамический контент?

    @matperez
    Не важно сколько у вас посетителей в месяц. Применение BEM означает, что вы можете переместить блок в любое место без необходимости в менять разметку. В этом плане элемент .article__p выглядит по меньшей мере странно. Я с вами согласен: если у вас есть блок внутренности которого не меняются, нет смысла добавлять к ним дополнительные классы или идентификаторы, достаточно просто .article p {}.
    Ответ написан
    Комментировать
  • Как построить sql-запрос с выводом актуальных данных по дням?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    SELECT `t1`.`name`, `t1`.`val`, `t1`.`date`
        FROM `table` AS `t1`
        JOIN (
            SELECT `name`, MAX(`date`) AS `date`
                FROM `table`
                GROUP BY `name`
        ) AS `t2` ON `t2`.`name` = `t1`.`name` AND `t2`.`date` = `t1`.`date`

    sqlfiddle.com/#!9/be1a2/2
    Ответ написан
    Комментировать
  • Как построить sql-запрос с выводом актуальных данных по дням?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Пардон, в первый раз не внимательно вопрос прочитал.

    select
      tmp.name,
      test.val
    from
      ( 
        select 
          name, 
          max(date) as max_date
        from test
        group by name
      ) as tmp
    join test on test.name=tmp.name and test.date=tmp.max_date

    Обязательно наличие индекса по name и date
    Ответ написан
    Комментировать
  • Как построить sql-запрос с выводом актуальных данных по дням?

    dude_sam
    @dude_sam
    BI Developer
    CREATE TABLE #vals
    ([id] INT PRIMARY KEY IDENTITY(1,1)
    ,[name] NVARCHAR(100)
    ,[val] SMALLINT
    ,[date] DATE
    );
    CREATE NONCLUSTERED INDEX [IX_vals_date] ON #vals([date]);
    
    INSERT INTO #vals([name],[val],[date])
    VALUES (N'Лена', 45, '2015-07-01'),
           (N'Женя', 50, '2015-07-01'),
           (N'Саша', 45, '2015-07-01'),
           (N'Лена', 30, '2015-07-02');
    
    WITH vdo AS
    (
    SELECT v.[id], v.[name], v.[val]
          ,v.[date]
          ,ROW_NUMBER() OVER(PARTITION BY v.[name]
                             ORDER BY v.[date] DESC
                            ) AS [date_order]
    FROM #vals v
    )
    SELECT vdo.[id], vdo.[name], vdo.[val]
    FROM vdo
    WHERE vdo.[date_order] = 1;
    
    DROP TABLE #vals;


    upd: Упс, только заметил тег mysql и я так понимаю там нет поддержки ни cte, ни windowsfunction?
    ну, тогда через подзапрос:

    CREATE UNIQUE INDEX [IX_vals_name_date] ON #vals([name],[date]);
    
    SELECT v.[id], v.[name], v.[val]
    FROM #vals v
    INNER JOIN (
                SELECT v.[name], MAX(v.[date]) AS [date_last]
                FROM #vals v
                GROUP BY v.[name]
               ) vdo 
               ON v.[name] = vdo.[name] AND v.[date] = vdo.[date_last];
    Ответ написан
    Комментировать