Несколько запросов в phpmyadmin - Расстояние с использованием координат, уклона, пересечения, угла и т. Д. - PullRequest
0 голосов
/ 19 июня 2020

У меня есть около 500 листов Excel в формате .csv с данными, собранными для моего эксперимента, со следующими столбцами.

enter image description here

Теперь мне нужно рассчитать следующие параметры, используя эти данные. Я проделал это в excel, однако делать это несколько раз для каждого excel так много раз сложно, поэтому я хочу написать запрос SQL в PhpmyAdmin, когда-нибудь поможет.

  1. Last набран символ - необходимо захватить последний символ из столбца 'CharSq'
  2. наклон (в столбце J) = (B3-B2) / (A3-A2)
  3. Пересечение (в столбце K) = B2- (A2 * (J3))
  4. Угол (в градусах) = MOD (ГРАДУСЫ (ATAN2 (( A3-A2), (B3-B2))), 360) -
  5. Индекс сложности = LOG (((E1 / 7.1) +1), 2)
  6. Длина значения скорости (если длина значения скорости> 3, то пометьте как 1 или 0) = = ЕСЛИ (LEN (D3)> = 3, «1», «0»)
  7. Неверная последовательность (если I3 = I2, тогда отметьте время поиска, иначе фактическое время) = IF (I3 = I2, «Время поиска», «Фактическое время»)
  8. Отметить символ в (1,2,3) = = IF (I2 = "A", 1, IF (I2 = "B", 2, IF (I2 = "C", 3, 0 )))

enter image description here

Я начал с этого SQL qu ery SELECT id, type, charSq, substr (charSq, -1,1) AS TypedChar, xCoordinate, yCoordinate, angle, distance, timestamp, speed FROM table 1 WHERE 1

Нужна помощь по остальной части параметры. Спасибо.

Примечание - я собираюсь запустить это в phpMyAdmin SQL

1 Ответ

0 голосов
/ 19 июля 2020
create table test.Table10 select mm.myid,mm.id,mm.type1 as GESTURE,MM.CHARSQ,MM.TYPE2 as TYPEDCHAR,MM.MYCHAR,MM.XCOR,MM.YCOR,MM.SLOPE,l4-(l2*(SLOPE)) as Intercept,
    if (ANGLE1<0, (ANGLE1+360) , ANGLE1 ) as ANGLE0,MM.DISTANCE,MM.DW,MM.INDDIFF,MM.TIME1,MM.SPEED,MM.SPDFILT,MM.TIMETYPE from (select c11.*,((YCOR-l4)/(XCOR-l2)) as SLOPE,MOD(DEGREES (ATAN2((YCOR-l4),(XCOR-l2))), 360) as ANGLE1,(YCOR-l4)/(XCOR-l2) ATT,LOG2(((DW)+1)) as INDDIFF,
    if(TYPE2=(LAG(TYPE2) OVER (
    PARTITION BY MYID
    ORDER BY ID)),"Search Time","Actual Time") as TIMETYPE,case when type2="A" then "1"
    when type2="B" then 2
    when type2="C" then 3
    else 0
    end as MYCHAR from (SELECT b.*,LEAD(XCOR) OVER (
    PARTITION BY charsq) l1,LAG(XCOR) OVER (
    PARTITION BY MYID
    ORDER BY ID) l2,LEAD(YCOR) OVER (
    PARTITION BY MYID) l3,LAG(YCOR) OVER (
    PARTITION BY MYID
    ORDER BY ID) l4,distance/7.1 as DW,IF(length(speed) >= 3, "1","0") as SPDFILT,RIGHT(charSq,1) as TYPE2 FROM test.table2 b) c11) mm
...